{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 1,
   "id": "2ea87155",
   "metadata": {},
   "outputs": [],
   "source": [
    "import tensorflow as tf"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "id": "a6e88ec4",
   "metadata": {},
   "outputs": [],
   "source": [
    "import pandas as pd\n",
    "import numpy as np\n",
    "import matplotlib.pyplot as plt\n",
    "%matplotlib inline"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "id": "a81e269f",
   "metadata": {},
   "outputs": [],
   "source": [
    "# 信用卡欺诈数据\n",
    "data = pd.read_csv('credit-a.csv', header=None)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "id": "5fb761ac",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>0</th>\n",
       "      <th>1</th>\n",
       "      <th>2</th>\n",
       "      <th>3</th>\n",
       "      <th>4</th>\n",
       "      <th>5</th>\n",
       "      <th>6</th>\n",
       "      <th>7</th>\n",
       "      <th>8</th>\n",
       "      <th>9</th>\n",
       "      <th>10</th>\n",
       "      <th>11</th>\n",
       "      <th>12</th>\n",
       "      <th>13</th>\n",
       "      <th>14</th>\n",
       "      <th>15</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>0</td>\n",
       "      <td>30.83</td>\n",
       "      <td>0.000</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>9</td>\n",
       "      <td>0</td>\n",
       "      <td>1.25</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>202</td>\n",
       "      <td>0.0</td>\n",
       "      <td>-1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>1</td>\n",
       "      <td>58.67</td>\n",
       "      <td>4.460</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>8</td>\n",
       "      <td>1</td>\n",
       "      <td>3.04</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>6</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>43</td>\n",
       "      <td>560.0</td>\n",
       "      <td>-1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>1</td>\n",
       "      <td>24.50</td>\n",
       "      <td>0.500</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>8</td>\n",
       "      <td>1</td>\n",
       "      <td>1.50</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>280</td>\n",
       "      <td>824.0</td>\n",
       "      <td>-1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>0</td>\n",
       "      <td>27.83</td>\n",
       "      <td>1.540</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>9</td>\n",
       "      <td>0</td>\n",
       "      <td>3.75</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>5</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>100</td>\n",
       "      <td>3.0</td>\n",
       "      <td>-1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>0</td>\n",
       "      <td>20.17</td>\n",
       "      <td>5.625</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>9</td>\n",
       "      <td>0</td>\n",
       "      <td>1.71</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>2</td>\n",
       "      <td>120</td>\n",
       "      <td>0.0</td>\n",
       "      <td>-1</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "   0      1      2   3   4   5   6     7   8   9   10  11  12   13     14  15\n",
       "0   0  30.83  0.000   0   0   9   0  1.25   0   0   1   1   0  202    0.0  -1\n",
       "1   1  58.67  4.460   0   0   8   1  3.04   0   0   6   1   0   43  560.0  -1\n",
       "2   1  24.50  0.500   0   0   8   1  1.50   0   1   0   1   0  280  824.0  -1\n",
       "3   0  27.83  1.540   0   0   9   0  3.75   0   0   5   0   0  100    3.0  -1\n",
       "4   0  20.17  5.625   0   0   9   0  1.71   0   1   0   1   2  120    0.0  -1"
      ]
     },
     "execution_count": 4,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "data.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "id": "c4a29793",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       " 1    357\n",
       "-1    296\n",
       "Name: 15, dtype: int64"
      ]
     },
     "execution_count": 5,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "data.iloc[:, -1].value_counts()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "id": "45f45752",
   "metadata": {},
   "outputs": [],
   "source": [
    "x = data.iloc[:, :-1]\n",
    "# -1替换为0\n",
    "y = data.iloc[:, -1].replace(-1, 0)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "id": "9e480634",
   "metadata": {},
   "outputs": [],
   "source": [
    "model = tf.keras.Sequential()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "id": "2b108331",
   "metadata": {},
   "outputs": [],
   "source": [
    "# 第一层4\n",
    "model.add(tf.keras.layers.Dense(4, input_shape=(15,), activation='relu'))\n",
    "# 第二层开始不需要输入input_shape\n",
    "model.add(tf.keras.layers.Dense(4, activation='relu'))\n",
    "model.add(tf.keras.layers.Dense(1, activation='sigmoid'))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "id": "797967f0",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Model: \"sequential\"\n",
      "_________________________________________________________________\n",
      "Layer (type)                 Output Shape              Param #   \n",
      "=================================================================\n",
      "dense (Dense)                (None, 4)                 64        \n",
      "_________________________________________________________________\n",
      "dense_1 (Dense)              (None, 4)                 20        \n",
      "_________________________________________________________________\n",
      "dense_2 (Dense)              (None, 1)                 5         \n",
      "=================================================================\n",
      "Total params: 89\n",
      "Trainable params: 89\n",
      "Non-trainable params: 0\n",
      "_________________________________________________________________\n"
     ]
    }
   ],
   "source": [
    "model.summary()\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "id": "984debbc",
   "metadata": {},
   "outputs": [],
   "source": [
    "model.compile(optimizer='adam',\n",
    "              loss='binary_crossentropy',\n",
    "              metrics=['acc']\n",
    ")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "id": "67ad436a",
   "metadata": {
    "scrolled": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Epoch 1/100\n",
      "21/21 [==============================] - 0s 696us/step - loss: 30.2401 - acc: 0.4533\n",
      "Epoch 2/100\n",
      "21/21 [==============================] - 0s 928us/step - loss: 22.2504 - acc: 0.4533\n",
      "Epoch 3/100\n",
      "21/21 [==============================] - 0s 838us/step - loss: 14.7452 - acc: 0.4502\n",
      "Epoch 4/100\n",
      "21/21 [==============================] - 0s 678us/step - loss: 9.9695 - acc: 0.6095\n",
      "Epoch 5/100\n",
      "21/21 [==============================] - 0s 908us/step - loss: 8.7435 - acc: 0.6692\n",
      "Epoch 6/100\n",
      "21/21 [==============================] - 0s 714us/step - loss: 7.4513 - acc: 0.6309\n",
      "Epoch 7/100\n",
      "21/21 [==============================] - 0s 984us/step - loss: 6.4375 - acc: 0.6294\n",
      "Epoch 8/100\n",
      "21/21 [==============================] - 0s 950us/step - loss: 5.5658 - acc: 0.6646\n",
      "Epoch 9/100\n",
      "21/21 [==============================] - 0s 705us/step - loss: 4.8600 - acc: 0.6662\n",
      "Epoch 10/100\n",
      "21/21 [==============================] - 0s 868us/step - loss: 4.2258 - acc: 0.6845\n",
      "Epoch 11/100\n",
      "21/21 [==============================] - 0s 729us/step - loss: 3.6576 - acc: 0.6799\n",
      "Epoch 12/100\n",
      "21/21 [==============================] - ETA: 0s - loss: 2.7806 - acc: 0.625 - 0s 951us/step - loss: 3.2063 - acc: 0.6922\n",
      "Epoch 13/100\n",
      "21/21 [==============================] - 0s 949us/step - loss: 2.8198 - acc: 0.6907\n",
      "Epoch 14/100\n",
      "21/21 [==============================] - 0s 744us/step - loss: 2.4396 - acc: 0.6876\n",
      "Epoch 15/100\n",
      "21/21 [==============================] - 0s 937us/step - loss: 2.1181 - acc: 0.6998\n",
      "Epoch 16/100\n",
      "21/21 [==============================] - 0s 867us/step - loss: 1.8501 - acc: 0.7136\n",
      "Epoch 17/100\n",
      "21/21 [==============================] - 0s 735us/step - loss: 1.5658 - acc: 0.7259\n",
      "Epoch 18/100\n",
      "21/21 [==============================] - 0s 948us/step - loss: 1.3300 - acc: 0.7259\n",
      "Epoch 19/100\n",
      "21/21 [==============================] - 0s 777us/step - loss: 1.1046 - acc: 0.7351\n",
      "Epoch 20/100\n",
      "21/21 [==============================] - 0s 1ms/step - loss: 0.9156 - acc: 0.7458\n",
      "Epoch 21/100\n",
      "21/21 [==============================] - 0s 961us/step - loss: 0.7415 - acc: 0.7504\n",
      "Epoch 22/100\n",
      "21/21 [==============================] - 0s 734us/step - loss: 0.6124 - acc: 0.7642\n",
      "Epoch 23/100\n",
      "21/21 [==============================] - 0s 950us/step - loss: 0.5688 - acc: 0.7182\n",
      "Epoch 24/100\n",
      "21/21 [==============================] - 0s 930us/step - loss: 0.5594 - acc: 0.7534\n",
      "Epoch 25/100\n",
      "21/21 [==============================] - 0s 706us/step - loss: 0.5563 - acc: 0.7335\n",
      "Epoch 26/100\n",
      "21/21 [==============================] - 0s 866us/step - loss: 0.5582 - acc: 0.7397\n",
      "Epoch 27/100\n",
      "21/21 [==============================] - 0s 712us/step - loss: 0.5560 - acc: 0.7305\n",
      "Epoch 28/100\n",
      "21/21 [==============================] - 0s 849us/step - loss: 0.5409 - acc: 0.7519\n",
      "Epoch 29/100\n",
      "21/21 [==============================] - 0s 951us/step - loss: 0.5467 - acc: 0.7289\n",
      "Epoch 30/100\n",
      "21/21 [==============================] - 0s 806us/step - loss: 0.5474 - acc: 0.7596\n",
      "Epoch 31/100\n",
      "21/21 [==============================] - 0s 994us/step - loss: 0.5333 - acc: 0.7427\n",
      "Epoch 32/100\n",
      "21/21 [==============================] - 0s 965us/step - loss: 0.5392 - acc: 0.7351\n",
      "Epoch 33/100\n",
      "21/21 [==============================] - 0s 768us/step - loss: 0.5288 - acc: 0.7504\n",
      "Epoch 34/100\n",
      "21/21 [==============================] - 0s 854us/step - loss: 0.5312 - acc: 0.7596\n",
      "Epoch 35/100\n",
      "21/21 [==============================] - 0s 888us/step - loss: 0.5289 - acc: 0.7580\n",
      "Epoch 36/100\n",
      "21/21 [==============================] - ETA: 0s - loss: 0.4223 - acc: 0.843 - 0s 805us/step - loss: 0.5222 - acc: 0.7565\n",
      "Epoch 37/100\n",
      "21/21 [==============================] - 0s 837us/step - loss: 0.5229 - acc: 0.7626\n",
      "Epoch 38/100\n",
      "21/21 [==============================] - 0s 887us/step - loss: 0.5208 - acc: 0.7596\n",
      "Epoch 39/100\n",
      "21/21 [==============================] - 0s 631us/step - loss: 0.5179 - acc: 0.7580\n",
      "Epoch 40/100\n",
      "21/21 [==============================] - 0s 852us/step - loss: 0.5183 - acc: 0.7596\n",
      "Epoch 41/100\n",
      "21/21 [==============================] - 0s 849us/step - loss: 0.5156 - acc: 0.7703\n",
      "Epoch 42/100\n",
      "21/21 [==============================] - 0s 661us/step - loss: 0.5281 - acc: 0.7443\n",
      "Epoch 43/100\n",
      "21/21 [==============================] - 0s 981us/step - loss: 0.5176 - acc: 0.7596\n",
      "Epoch 44/100\n",
      "21/21 [==============================] - 0s 654us/step - loss: 0.5145 - acc: 0.7504\n",
      "Epoch 45/100\n",
      "21/21 [==============================] - 0s 912us/step - loss: 0.5118 - acc: 0.7611\n",
      "Epoch 46/100\n",
      "21/21 [==============================] - 0s 804us/step - loss: 0.5085 - acc: 0.7657\n",
      "Epoch 47/100\n",
      "21/21 [==============================] - 0s 659us/step - loss: 0.5126 - acc: 0.7534\n",
      "Epoch 48/100\n",
      "21/21 [==============================] - 0s 820us/step - loss: 0.5100 - acc: 0.7688\n",
      "Epoch 49/100\n",
      "21/21 [==============================] - 0s 673us/step - loss: 0.5019 - acc: 0.7596\n",
      "Epoch 50/100\n",
      "21/21 [==============================] - 0s 1ms/step - loss: 0.4980 - acc: 0.7519\n",
      "Epoch 51/100\n",
      "21/21 [==============================] - 0s 826us/step - loss: 0.5030 - acc: 0.7688\n",
      "Epoch 52/100\n",
      "21/21 [==============================] - 0s 685us/step - loss: 0.5157 - acc: 0.7734\n",
      "Epoch 53/100\n",
      "21/21 [==============================] - 0s 875us/step - loss: 0.5014 - acc: 0.7534\n",
      "Epoch 54/100\n",
      "21/21 [==============================] - 0s 681us/step - loss: 0.4980 - acc: 0.7764\n",
      "Epoch 55/100\n",
      "21/21 [==============================] - 0s 1ms/step - loss: 0.4980 - acc: 0.7657\n",
      "Epoch 56/100\n",
      "21/21 [==============================] - 0s 1ms/step - loss: 0.5006 - acc: 0.7596\n",
      "Epoch 57/100\n",
      "21/21 [==============================] - 0s 726us/step - loss: 0.5003 - acc: 0.7734\n",
      "Epoch 58/100\n",
      "21/21 [==============================] - 0s 868us/step - loss: 0.4930 - acc: 0.7642\n",
      "Epoch 59/100\n",
      "21/21 [==============================] - 0s 876us/step - loss: 0.4930 - acc: 0.7688\n",
      "Epoch 60/100\n",
      "21/21 [==============================] - 0s 683us/step - loss: 0.5004 - acc: 0.7795\n",
      "Epoch 61/100\n",
      "21/21 [==============================] - 0s 952us/step - loss: 0.4941 - acc: 0.7657\n",
      "Epoch 62/100\n",
      "21/21 [==============================] - 0s 725us/step - loss: 0.4951 - acc: 0.7427\n",
      "Epoch 63/100\n",
      "21/21 [==============================] - 0s 1ms/step - loss: 0.4921 - acc: 0.7749\n",
      "Epoch 64/100\n",
      "21/21 [==============================] - 0s 953us/step - loss: 0.4903 - acc: 0.7580\n",
      "Epoch 65/100\n",
      "21/21 [==============================] - 0s 822us/step - loss: 0.5042 - acc: 0.7734\n",
      "Epoch 66/100\n",
      "21/21 [==============================] - 0s 652us/step - loss: 0.5035 - acc: 0.7596\n",
      "Epoch 67/100\n",
      "21/21 [==============================] - 0s 916us/step - loss: 0.4857 - acc: 0.7779\n",
      "Epoch 68/100\n",
      "21/21 [==============================] - 0s 761us/step - loss: 0.4833 - acc: 0.7764\n",
      "Epoch 69/100\n",
      "21/21 [==============================] - 0s 1ms/step - loss: 0.4809 - acc: 0.7703\n",
      "Epoch 70/100\n",
      "21/21 [==============================] - 0s 909us/step - loss: 0.4896 - acc: 0.7841\n",
      "Epoch 71/100\n",
      "21/21 [==============================] - 0s 723us/step - loss: 0.4778 - acc: 0.7657\n",
      "Epoch 72/100\n",
      "21/21 [==============================] - 0s 863us/step - loss: 0.4871 - acc: 0.7871\n",
      "Epoch 73/100\n",
      "21/21 [==============================] - 0s 829us/step - loss: 0.4814 - acc: 0.7749\n",
      "Epoch 74/100\n",
      "21/21 [==============================] - 0s 760us/step - loss: 0.4842 - acc: 0.7856\n",
      "Epoch 75/100\n",
      "21/21 [==============================] - 0s 987us/step - loss: 0.4892 - acc: 0.7795\n",
      "Epoch 76/100\n",
      "21/21 [==============================] - 0s 728us/step - loss: 0.4818 - acc: 0.7902\n",
      "Epoch 77/100\n",
      "21/21 [==============================] - 0s 655us/step - loss: 0.4785 - acc: 0.7810\n",
      "Epoch 78/100\n",
      "21/21 [==============================] - 0s 905us/step - loss: 0.4881 - acc: 0.7764\n",
      "Epoch 79/100\n",
      "21/21 [==============================] - 0s 636us/step - loss: 0.4880 - acc: 0.7764\n",
      "Epoch 80/100\n",
      "21/21 [==============================] - 0s 872us/step - loss: 0.4779 - acc: 0.7611\n",
      "Epoch 81/100\n",
      "21/21 [==============================] - 0s 714us/step - loss: 0.4869 - acc: 0.7795\n",
      "Epoch 82/100\n",
      "21/21 [==============================] - 0s 1ms/step - loss: 0.4852 - acc: 0.7764\n",
      "Epoch 83/100\n",
      "21/21 [==============================] - 0s 994us/step - loss: 0.4849 - acc: 0.7734\n",
      "Epoch 84/100\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "21/21 [==============================] - 0s 842us/step - loss: 0.4896 - acc: 0.7764\n",
      "Epoch 85/100\n",
      "21/21 [==============================] - 0s 661us/step - loss: 0.4849 - acc: 0.7703\n",
      "Epoch 86/100\n",
      "21/21 [==============================] - 0s 908us/step - loss: 0.4802 - acc: 0.7734\n",
      "Epoch 87/100\n",
      "21/21 [==============================] - 0s 727us/step - loss: 0.4854 - acc: 0.7703\n",
      "Epoch 88/100\n",
      "21/21 [==============================] - 0s 763us/step - loss: 0.4911 - acc: 0.7657\n",
      "Epoch 89/100\n",
      "21/21 [==============================] - 0s 849us/step - loss: 0.4980 - acc: 0.7626\n",
      "Epoch 90/100\n",
      "21/21 [==============================] - 0s 764us/step - loss: 0.4675 - acc: 0.7764\n",
      "Epoch 91/100\n",
      "21/21 [==============================] - 0s 841us/step - loss: 0.4651 - acc: 0.7841\n",
      "Epoch 92/100\n",
      "21/21 [==============================] - 0s 658us/step - loss: 0.4658 - acc: 0.7703\n",
      "Epoch 93/100\n",
      "21/21 [==============================] - 0s 863us/step - loss: 0.4758 - acc: 0.7795\n",
      "Epoch 94/100\n",
      "21/21 [==============================] - 0s 631us/step - loss: 0.4613 - acc: 0.7856\n",
      "Epoch 95/100\n",
      "21/21 [==============================] - 0s 617us/step - loss: 0.4762 - acc: 0.7994\n",
      "Epoch 96/100\n",
      "21/21 [==============================] - 0s 860us/step - loss: 0.4651 - acc: 0.7672\n",
      "Epoch 97/100\n",
      "21/21 [==============================] - 0s 726us/step - loss: 0.4700 - acc: 0.8086\n",
      "Epoch 98/100\n",
      "21/21 [==============================] - 0s 901us/step - loss: 0.4615 - acc: 0.7963\n",
      "Epoch 99/100\n",
      "21/21 [==============================] - 0s 622us/step - loss: 0.4636 - acc: 0.7764\n",
      "Epoch 100/100\n",
      "21/21 [==============================] - 0s 844us/step - loss: 0.4644 - acc: 0.7933\n"
     ]
    }
   ],
   "source": [
    "history = model.fit(x, y, epochs=100)\n",
    "# acc正确率"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "id": "5f3fa810",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "dict_keys(['loss', 'acc'])"
      ]
     },
     "execution_count": 14,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "history.history.keys()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 17,
   "id": "01bb2556",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "[<matplotlib.lines.Line2D at 0x21cb3a9e8c8>]"
      ]
     },
     "execution_count": 17,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.plot(history.epoch, history.history.get('loss'))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 18,
   "id": "ab0ca114",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "[<matplotlib.lines.Line2D at 0x21cb983dc08>]"
      ]
     },
     "execution_count": 18,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAXoAAAD4CAYAAADiry33AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjQuMywgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/MnkTPAAAACXBIWXMAAAsTAAALEwEAmpwYAAA050lEQVR4nO3deXyU5bn/8c81WSEhIRtbAiQsYReQCAqKu+JS0VotVlupWtvT2nrsdvR0t/b8ek5bra12sVZbWxWtKyoVEWRThATZwxYCZGHJCkkIWWbm+v0xk2GywSAJgXmu9+uVFzPPMnM/DHznzv3ci6gqxhhjwperpwtgjDGme1nQG2NMmLOgN8aYMGdBb4wxYc6C3hhjwlxkTxegrdTUVM3MzOzpYhhjzFll7dq1Faqa1tG+My7oMzMzycvL6+liGGPMWUVE9na2z5pujDEmzFnQG2NMmLOgN8aYMGdBb4wxYc6C3hhjwpwFvTHGhDkLemOMCXMW9MYY083e23KAPRVHeuz9LeiNMaYbebzKfS+u479e3dhjZbCgN8aYbrT/8FGa3F5W765iQ/GhHilDSEEvIrNEZLuIFIjIgx3sHyIiH4jIOhHZKCLXBu17yH/edhG5uisLb4wxZ7qiqvrA46dWFPZIGU4Y9CISATwJXAOMBW4TkbFtDvsh8LKqTgbmAH/wnzvW/3wcMAv4g//1jDHGEYoqfUF/3TkD+fem/RQHBf/pEkqNfipQoKqFqtoEzANmtzlGgQT/40Rgn//xbGCeqjaq6m6gwP96xhgTVlSV9/MPUtvQ3Gp7UVU9kS7hv68dg0uEv67cfdrLFkrQpwPFQc9L/NuC/RS4Q0RKgAXAN0/iXETkXhHJE5G88vLyEItujDFnjk+KqrnnuTxeyi1utX1vVT0ZSb1I79uLGyYN4qXcYg7VN53WsnXVzdjbgL+pagZwLfAPEQn5tVX1KVXNUdWctLQOp1M2xpgz2vMfFwGwdX9tq+3FVfUMSYkD4N6Zwzja7OH51UWntWyhhHEpMDjoeYZ/W7C7gZcBVHUVEAukhniuMcac1Q7VN/H2pv0A7DjYOuj3VtYzJLkXAKMHJJAzNIl/b97f7jXKahto9ni7pXyhBH0uMFJEskQkGt/N1fltjikCLgcQkTH4gr7cf9wcEYkRkSxgJLCmqwpvjDFnglfWltDk9nLhiFR2HKzF41UADtc3c/hoM0OT4wLHXjIqjc2lNVTUNbZ6jYde3cTsJz7slvKdMOhV1Q3cBywEtuLrXbNFRB4WkRv8h30H+IqIbABeBOaqzxZ8Nf184F3gG6rq6Y4LMcacmeqb3GwuPdzTxeg2qsoLa4qYPKQvN0waRKPbG+hS2fLn4OTegeMvzu4HwIqdx+5H1jQ0s2JnBRcMT+mWMobUjq6qC1Q1W1WHq+ov/Nt+rKrz/Y/zVXWGqk5U1Umq+l7Qub/wnzdKVf/dLVdhjDljfe+VjXzmiZU9Nliou31cWEVh+RFunzaU0QP6ALD9gK/5piXoh6YcC/pxgxJIiYtm2fZjQf9+/kGaPF6unTCwW8poI2ONMSfl5dxi3tnYvo25I5tLD/POxv2owo/e3Bxo0ggnL6wpIiE2kuvPGcjIfn0QORb0e6t889sE1+hdLuGikams2FmB1//3sWDTAQYmxjJ5cN9uKaMFvTEmZB6v8sg7+fz365uob3K32vfPj/fy0GsbW91QfHTRDhJ7RfHzG8ezseQwL645vb1NutvuiiO8u3k/N0/JIDYqgl7REQxN7h24IVtcVU9qfDTxMZGtzrt4VBqVR5rYsq+G2oZmlu8sZ9b4Abhc0i3ltKA3xrTj9niZ/cRKnlu1p9X2/H011DS4OXy0mZeD+ouX1TTwyDv5vLimmO/9awNer7J2bzVLtpXx1YuHcce0IVwwLIVfLdze7ibkmerN9aVc9diyTstbVtPAF/+6mj6xUdx9YVZge3b/Pmw7UAP4etwE1+ZbXDTS14182Y4yFm8to8nt5bpuarYBC3pjTAeWbCtjQ8lh5q1pPfjnw10VAIzsF89fP9yN2197f/KDAtwe5YvnD+WN9ft45J2t/HrhdlLjY5g7PRMR4ec3jqO+yc0v/73ttF/PydpVXseDr25ix8E6Xs4rbrf/8NFmvvTMGqqONPHs3PPISDoW5qMG9GFPZT0NzR72VtYztIOgT42PYXx6Ast3VLBg034GJMRy7pCkbrseC3pjzmDbDtTwSVH1aX/flgE9+ftrKD10NLD9o12VjOwXz3euGkVx1VEWbjlISXU9L6wp4pacwTw8exxzp2fyzIe7WVVYyTcuHU7vaF+zxYh+fbjnomG8sraER97OD6m9XlVZsGl/qzJ0t0a3h2++sI7YKBfj0xN4cU1RoC29Zf9XnstjV3kdf/7iFCa2aVcfNaAPHq+y/UAt+w8fZUgHQQ9wcXYaa4uqWbqje5ttwILemDNWo9vD3X/L4+6/5dLQ3HW9khvdHn61cBvz1hSxr4MALa6qZ/nOcq4/x9eUsGTrQQCa3F5yd1cxfXgKV47tT2ZKb55avovfLd6JiPCty0cgIvz4+rHcMiWD0QP68IVpQ1q99neuzGbu9EyeXrmbu/6Wy+Gjze3eP9gnRdV8/flPuPTXS/nlv7dR03D847vCL/+9jfz9Nfz6loncO3M4xVVHWVFQEdj/p6WFrNldxa9vmRhoggk2qr+v582SbWV4lcCo2LZmjkzD41Wa3N3X26ZF5IkPMcacjKNNHr7/6ka+edkIsv3/6T+Nl3KLAzXZhVsOMHtSu2miPpUPtpXx5Ae7As9H9IvnkRvHc/4wXx/uF9cUIcAPrhvDln01LNpaxhcvyGR98SGONnuYPiKVCJdwz0XD+OEbm9lQcpi7ZmQxMNE3+tPlEn51y0RUFZHWtdTICBc/vWEcowb04UdvbObqx5aTkeQ7r3dMJI/dOpGU+JjA8Yvyy4h0CdeMH8Cflu3ipdwivnX5SG6fNpToSF89taCsjj98UMAFw1O4JWcwp2LFznKe/XAPc6dncvmY/jS6PaTERfP8x3u5ODuNvZVHeHJpAdefM7DTzyMzNY6oCGFRvu8LsrMa/blDk4iPiaR3dAQ5Q7uv2QasRm/MKfF20PzwcWElb23Yx8/fzj/uuW6PF9WOmy+ONnn4/ZICpmYmk5nSOzCPSkeWbDvIrX9aRaO7fa2/o+aR97eWkdgrigXfuogfXjcGj1e55+95bC49TJPby8t5xVw2uj8DE3txxZh+fLyrkrpGNx8WVOASOD/L94Vw87kZJMdF0zs6gq9fOrzd+7QN+WC3TR3C8/dMY8zAPsREuYiKcLF8RzmvrC1pU9aDnD8shcfnTObtb17I2EEJ/OytfK58bBmvfVLCD17fxNW/Xc5r60r5/qsbeXvjvk7eMTR/XlbIoMRYHrxmNAAxkRHckjOYxdvKOHC4gZ/O30KUS/jhdW1naj8mKsLF8LR48vf7bsgG96Fve9z3Z43iwWtGd2uzDVjQG/OpeL3Kb97bzsSfvUdBWV2rfat3VwGwYmcFHxdWdni+2+PlikeX8ZP5Wzrc//dVeyivbeR7s0Zx29QhrNlTxc42c6i0WJR/kDV7qvgwqHkBYOXOCsb95F0Kyo6d5/EqS7aVcemoNMYOSuCei4bxwlemkRAbydxnc3l6ZSEVdU3c7m9yuXxMf5o8XlbsKGfVrkrGpyeS2DsKgF7RETz2+Un8bs5kUoNq4aGaNiyFZ788lefvOZ8X7z2fSYP78vq6Y1Nh7ak4QkFZHZeP8Y0kHZ+eyD/vnsazXz6P2MgIvv3yBl7KLeb2aUP48MHLyBmaxAMvrefDAl//9FfXljDjl0u48H+X8Ma60g6/lIPtqTjCyoIKbps6hNioY8tm3DZ1MB6v8q0X1/HB9nIeuDKbAYmxx32tUf6BUzGRLtKO83fzpQsy+ey5GSf8uzpVFvTmrKOqrNxZwdGmnplN40ijm/94fi2/X1JAbaOb9/IPtNq/Zncl49MT6J8Qw68Xbu+w1r54Wxl7Kut5btXedjdbaxqa+dOyXVycncZ5mcl8bkoG0RGuTmc83OYfnLNgU+ty/PPjvTQ0e/nHqr2BbeuLq6k60sTlY/oHtg1M7MVzd0/D4/Xyf+9uJ71vL2Zm+9qec4Ymkdgrivkb9rGuuLrdEP2Ls9O4Ymx/usLN56az7UAt+ft8NeH3/fcGrggqq4hw6ah+LLj/Ip6dex6Lvn0xD88eT3rfXjz9pfMYlhrPvc/lcd3vV/Kdf20gJT6axF5R/OdL67nhyZXk7qnq9P1fXFNEhEv4/Hmtm3+GpsRx0chU1uypYvSAPsydnnnCa2lpshuS3Lvba+uhsKA3Z53lOyu446+rmZfbtYNvtu6v4c31x59ctaKukZv/+BGL8g/yo+vHMnZgQquh7EebPGwsOcxFI9O477KR5O319apo6/nVRfRPiGFAQiw/eqP1iNE/Ld3FofpmvnvVKABS4mO4evwAXvukpN2Xm6qywx/07205QJPb193xcH0zS7b52rdfW1caGNzU0uZ98ajWNxFH9Ivn2S9PpU9sJPdclEWEP5wiI1xcOiqNf28+QLNHmTE8NaS/y0/j+nMGERUhvPaJr/nm/a0HGT2gT4f90CNcwqWj+5GVeuxGZ2LvKJ67eyrJ8dHUNjTz+JxJvPH1Gbx134X89vOTqD7SzJynPubZD3e3+/JtdHv419oSrhzTn34J7Wvrd83IIipC+PmN44mMOHFstkyF0Fn7/OlmQW/OKqq+JhOAT4oOdelrP/xWPvfPW8/avZ3X+p5btZftB2t59stTufvCLC4elcbavdWBVYXWFVXj9ipTs5L5fM5gMpJ68Zv3WtfqiyrrWbGznDnnDeFH149ly74a/vnxXjxe5Rfv5POHpbu4cdIgJmQkBs65fdoQahrc7dqgSw8d5UiTh8tG96Omwc1H/n7ub2/aR5PHy0PXjqG2wc3bG3xTFrS0eSfERrW7tkmD+7L2h1fy5RlZrba31NijIoTzMpNP5q/0pCTFRXPJqH68uWEflXWN5O6pDjTbhKp/Qizvf/tiln73EmZPSsflElwu4cbJ6Sx8YCaXje7Hz97K56HXNgW+FAHe3XyAqiNN3H7+kA5f99LR/dj4k6tDvv5Ajb6T9vnTzYLenFUWbjnIxpLDJPaKYn3xyfcvP9rk4Qevbwp8WbQoPXSUj3f72tN/+MaWwECgtv69aT9TM5O52N+0MXNkGm6vsmqX79zVu6twCUwZmkR0pIv/vCKbzaU1/CvoJuOLub5eLXOmDubaCQO4aGQqv35vO3OfXcNfVuzmzguG8qtbJrZ632lZyQxPi2s3hUDLnCr3XJhFn5hIFvjnRH/9k1JG9ovnrhmZjOgXz/Nritq1eXekpSdLsJnZaURFCJOHJNErunuXfP7s5HTKaxv5xYKteLzaqtkmVDGRER3WuuNjIvnzHVP4xqXDmZdbzC1/XhVoNnt+dRFDknsf9zeWk7n2jKRe3JqT0e3dJkNlQR9G/rFqD9c8vqLTnhxnKlWlMoRh8R6v8uii7QxLi+OrFw+juOpoSOe1OHC4gVv/vIrnVxfx5AcFrRZpfmNdKarw0DWj2bq/hueC2rVb7DxYy86yOq4759h/3ilDk4iLjmCZv3lmze4qxg5KCNSYb5qczrSsZH7w+iZW7Cynye3lX3nFXD7G16tFRPjZDeNobPayalclv7hpPD+bPZ6oNkElIlx/ziDWFR9q1Zd8u/8G7bj0RK4Y25/38g+yq7yOvL3V3HRuOiLCF6YOYUPxIX63eCfASYdnQmwUP7thPA9ckX1S530al43pR0JsJK99UkpqfAwTM/p26eu7XML3rh7NE1+YTGn1UT77h4+462+5rNldxRemDemy9nQR4f8+N7FbfwM6GRb0YcLjVf60rJCt+2uoru/+QSVdRVX50ZubmfLI+zzw0npKqus7PfatDfvYcbCOb1+ZzRT/cPH1IU59u774EJ95YiWF5XX8z00TiHAdW6RZVXl9XSnnZSZx78xhzMxO49FFOyiraWj1Gu9s2o8IzBo/ILAtOtLF9BGpLNtRTqPbwydF1UzNPHbDMsIlPPWlHIanxfPVf6zl0UU7qKhrajWQaFhaPM9++Txe/Y/p3D5taKfXMG1YMqqwds+x32R2HKhlUGIsib2iuGb8AA7VN/PgqxsRgRv9/bxvPjeDmEgXr60r7bTN+0S+MG1It82VHiwmMoLrzhkEwOWj+3XbjczrzxnE0u9dwv2Xj2TVrkqiI118bkr3937pKRb0YWLZjrLA4JrS6u4bLr5iZ3mrmvCJbD9Qy0u5RZ2e89v3d/LPj4uYMSKFBZv2c9lvlvHI2/msLz4UuEHp8Srriw/x2Ps7GDMwgWvHD2RCRiIRLmk3x/n7+QfbvdfRJt+Q9ZhIF699fQZfmDaEGyamBxZp3lxaQ0FZHTdNzgjUsJvcXh55Z2ur11mwaT/nZSbTr0/rm3Uzs9MoqT7Km+v20ej2MjWrdS0usVcUz901lZT4aP60bBcZSb2Y2WZE5YwRqe2G0rc1eXASURES6L4Jvh432f4bfzOz04iPiSR3TzXnZ6UwqK9vIFJi7yg+M9EfnifZ5t0TPn/eYERo9ZtTd4iPieSBK7NZ9v1LeOu+Cz9VF9GzhY2MDRMvrC4i0iW4vUrpofpWN/K6itvj5Z6/53HRyDSevjPnhMc3NPsCtmXxhazUOGaOTOWikWmcPzyF19eV8vjindyak8H/3nwO+w838Jv3dvDXD3fz9Mrd9O0dxYT0RDaVHuZQfTORLuHZL5+HyyX0jo4ku38f1gUF/YHDDdz7jzzGDUrkjW/MCPQcaemT/srXLgj0b/7KzCxe/aSE51cXUVHXSHSEKzB7YFZqHP9xyXAeX7yTq8cN4LpzBlJQVsuOg3X89DPtB8pc7A/tx/1NI22DHqBfQizP3TWNuc+u4aszhwfKdjJ6RUdwTkZf1vjvJTR7vBSWHwncL4iNiuDyMf14c/0+bjq39ajNudMzWbz1YCDwz2STBvcl9wdXnLbg7dcntt2Xd7ixoA8DpYeOsmRbmW+04eoiSrqpRr+74giNbi/Ld5ZT29BMnw56bgT749JdFFXV85tbJlLT0MzyHeW8nFfC31ftJSrC96V0xZh+/M9NExARBvXtxW9unch/XzualQUVLN9RwZZ9h7liTH8uGpnKhSNSWw2PnzS4L+9s3IfXq7hcwpvrS/EqbCo9zAtrivji+UMDfdIvGZVGTlB76egBCczMTuPZD/egqlwxtl9gIBDAfZeNYOmOch58bSMTByeyYNMBROCaDm6uDUnpzbDUOAorjpDdP57kuOgO/z6yUuNY+t1Ljjti9ESmZiXzl+WFHG3yUHqoniaPN/DlBb4BOGU1je1uAo5PT2Tdj6/61O97uoVz7bonhBT0IjILeByIAJ5W1V+22f8YcKn/aW+gn6r29e/zAJv8+4pU9QZMl3ppTREKfO3i4by+rrTDmf7cHm9I/X+Pp2VId5Pby5JtZcede2VPxRH+uGwXN0wcxM3+ts8vz8ii0e1h7d5qVuys4FB9Mz++fmy7cqXExzB7UvoJ53aZPLgvL64pYnflEYanxfP6ulImDu5LXHQEv3p3G9eMH8Bzq/a26pMe7Kszh3H706sBuGly6/bZqAgXv58zmet+t4L7562nrsFNztAk+nfQxxp8zSaFFUc6rM0HO5WQB1/Q/3HpLj4pqqa6vgmg1Xw6U4Ym8eK955/Se5jwc8L/+SISATwJXAOMBW4TkVa/v6rqA/61YicBvwdeC9p9tGWfhXzXa/Z4mZdbzMXZaQxO7k16317t2uiXbi/jnJ+9x4HDDZ28SnvFVfXtuhhuO1BLVISQ1ifmuEvJqSo/mb+F6AgXP7xuTKt9MZERTB+eyn/NGs3/++yEU+qu19Kmvb7oEPn7ath2oJabz03n4dnjONrs4b9f28QzK3dzzfgBjE9v35Q1fXgK4wYlkBwXHWj+CDYkpTeP3DSetXur2X6w9rhd5VoGIE3L6t4bllOGJuESXzfOHQdqcYlvsJMxxxNKFW8qUKCqharaBMwDZh/n+NuAF7uicObEFm89SFltY6C3RnpSr3Y1+tw9VdQ3efhge1lIr3mwpoHLfrOUF9r02d66v4bhafFcO34AS3eUU9fo7vD8hVsOsGyHb06QjkYZdpUR/eKJi45gffEhXl9XQlSErwtiy7zn7+Uf5EiTm29f2XG3QBHhj7dP4bm7pnbYfxxg9qR0bpmSQaRLWvW2aeuS7DSemZvT7f2mE2KjGDsogTW7K9l+sJbM1LhW87IY05FQgj4dCF5ipcS/rR0RGQpkAUuCNseKSJ6IfCwiN37agpr2lm4v43uvbGRwci8u9dco0/v2atdGv6vMt0Dx8g6G4nfkw4IKmj3Kip2tJ8natr/W1+tlwsBA801Hfre4gJH94rnzgs67CnaFCJdwTkZf1u6t5s31+7hkVL9A+/g3LxvBiH7x3DFtKCOPM1XwkJTeHdb2g/2/z07g/W9fHJiGtyMiwmWj+3+qm6wna1pWCuuKDrG5tCYw97kxx9PV3SvnAK+oavCEHENVNQf4AvBbEWk3n6mI3Ov/MsgrLw8tjJxMVXl6RSF3/S2XjKTevPiV8wPt3OlJvTh8tLlVbbug3De74sqdFa0Wbu7MR/5Rnrl7qgIz/lUfaeJATQNjBvYhJzOZtD4x/HtT++abbQdqyN9fw+3ThpzyPYFQTBrSl/z9NZTVNvLZycfqH72jI3n3/ot4ePa4U36PyAgXmakdLx7RE6ZmJdPo9lJ66GirG7HGdCaU/4mlQPB0bhn+bR2ZQ5tmG1Ut9f9ZCCwFJrc9SVWfUtUcVc1JS2vfVmpae3TRDh55ZytXjR3AK1+7oNV6len+vtMt7fTNHi97K4+QlRpHbaP7hAOMVJWPCiroFRXBofpmdvinuN3qvxE7ZmACEf6FID7YXhaYLKvF65+UEumS09aNb5K/nT4hNpLL2vQRj4xwnfLNzzNR8GhLq9GbUIQS9LnASBHJEpFofGE+v+1BIjIaSAJWBW1LEpEY/+NUYAZw/NUYzHGVVNfzp2W7mD1pEH+4/VziYlp3nGoJ/dJDvr7rRVX1NPsXbY5wyQmbb/ZW1rPvcANfmu5rdlnjH5yz1T+nyugBCQBcO2EgDc2tm288XuWN9aVcnJ3Wqhtkd2oJ+uvOGURMpDPaqpPjosnu77sBm201ehOCEwa9qrqB+4CFwFbgZVXdIiIPi0hwL5o5wDxtPdHKGCBPRDYAHwC/VFUL+lPwu8U7EYT/mtXxqjQty7K11Oh3+RfFOHdoEpMH9w3MydKZD/2zH96aM5hBibGBUZhb99eQGh9DWh9fgJ/nb755ZuXuQO+cVbsqOVjTeFoWUmjRPyGWP90xhe9e1f3zsJxJpg9PpU9MJJmdrEdqTLCQGlFVdYGqZqvqcFX9hX/bj1V1ftAxP1XVB9uc95GqTlDVif4//9q1xXeWwvI6Xv2klNvPHxIY3t5WWnwM0REuSvw9b1ra54elxTEzO41NpYcDE4E1NHt4ZW3rOc4/2lXJgIRYhqXGMTUrmTW7q1BVth2oYczAY7XHCJfww+vG8EnRIX63pACA19aV0Cc28rQPs581fsBp+w3iTPGdq7J5PWj0rzHHY3PdnEUee38n0REuvn7JiE6PcbmEgX1jg2r0R+ifEENCbBQXZ6ehCisLKnB7vHzj+U/47r82BKbs9fqn250+PAURYWpWCuW1jewqr2PHwTrGDExo9V6zJ6Vz87kZPLFkJx9sK+PdzQe4bsJA6+53GvSJjbL+8yZkNgXCWWLr/hre2rCPr18yPNB80pn0vsf60heU1zE8zRcIE9ITSY6LZun2clburGDxtjJGD+jDsx/t4XM5GahC1ZEmpo/wzcndMspz3ppimtzewKo5wR6ePY5Piqq59x95NHuUmyYffzSrMeb0sxr9WeJXC7fTJzaSr85s1zu1nZbRsapKYVldoObncgkXjkjljfWl/GttCfdfPpIXv3I+CbGR/PD1zYHFpaf7p6MdnhZHanw0L+f5hlG0rdEDxMVE8vvbJgfe90yZf9sYc4wF/VlgUf5Blmwr45uXjWg18VZn0pN6UVbbSEn1UWob3YEaPcClo33NN7dPG8J/XjGSpLhoHrxmNHl7q3nigwKyUuMC7f++5ptkahrcREVIq9cJNj49kb/fNZXff2HyGbEQsjGmNWu6OcMdbfLw0/lbyO4f324tz8609KVvGdka3JY7e2I6AxJ6MTUrOdDH/JYpg3kpt5hPig4FpuptMTUzmQWbDjA8Lb7TaQLA1wvEGHNmshr9Ge7JDwooPXSUhztYXq4z6f4uli195oNr4i6XcMHwlFa9NVwu3+r2vaMjuGpc6/lcpvon6RrbQbONMebsYDX6M9iu8jqeWl7ITZPTOX9Y6LMiZvT1DZr6sKCC+JhI+iecuOvhuEGJbPzJVe2mLRg9oA8zRqS0+wIwxpw9LOjPIKrK1/65lg3FhwE40ugmJsrFQ9eOPqnXGZAYiwjUNrqZmJEY8jQAHc1N43IJz99j85sbczazoD+DrNpVycItB7l0VFpgabPZkwad9DJn0ZEu+veJ5UBNQ6c3UI0xzmFBfwb58/JCUuNj+OMdU0550FF6Ui9f0NugGmMcz27GniG2H6hl2Y5y5k4f2iUjS1t63liN3hhjQX+GeGp5Ib2iIrjj/K5ZrKOl540NkzfGWNPNGeDA4Qbmbyjl9mlD6ds7ukte84ox/SmqrCczpfeJDzbGhDUL+jPAsx/txuNV7r4wtAFRoZgyNIkpQ5O67PWMMWcva7rpYfVNbl5YXcQ14wcyONlq38aYrmdB38Pe3rCf2gY3c2dk9nRRjDFhyoK+hz2/ei8j+8WTY80sxphuYkHfgzaXHmZDyWFunzYkLBexNsacGSzoe9Dzq4uIjXJx02lcY9UY4zwhBb2IzBKR7SJSICIPdrD/MRFZ7//ZISKHgvbdKSI7/T93dmHZz2q1Dc28ub6Uz5wziMReJ55j3hhjPq0Tdq8UkQjgSeBKoATIFZH5qprfcoyqPhB0/DeByf7HycBPgBxAgbX+c6u79CrOQm+u30d9k4fbu2iAlDHGdCaUGv1UoEBVC1W1CZgHzD7O8bcBL/ofXw0sUtUqf7gvAmadSoHDgary/Ooixg5MYGJGYk8XxxgT5kIJ+nSgOOh5iX9bOyIyFMgClpzMuSJyr4jkiUheeXl5KOU+q63ZXcXW/TXccf5QuwlrjOl2XX0zdg7wiqp6TuYkVX1KVXNUNSctLa2Li3TmeWp5Iclx0Xz23A6/L40xpkuFEvSlwOCg5xn+bR2Zw7Fmm5M91xEKympZvK2ML13QNbNUGmPMiYQS9LnASBHJEpFofGE+v+1BIjIaSAJWBW1eCFwlIkkikgRc5d8WtlSV3D1VHK5v7nD/X5bvJibSxZcuyDy9BTPGONYJe92oqltE7sMX0BHAM6q6RUQeBvJUtSX05wDzVFWDzq0SkZ/j+7IAeFhVq7r2Es4sr68r5dsvb8AlcE5GX2Zmp3HHtCH0S4ilrLaB19eVcut5GSTHdc0slcYYcyISlMtnhJycHM3Ly+vpYnwqqso1j6/A7VWumzCQFTvLWV98iJjICL4ycxh1DW6e/Wg3H3znEjJT43q6uMaYMCIia1U1p6N9Nk1xF1q+s4JtB2r59S0T+dyUDB64Mpu9lUf4v3e387vFOwGYNW6Ahbwx5rSyoD8FXq/ich3rHvmX5YX0T4jhhomDAtuGpsTx5O3nck9RNf9YtZevXzqiJ4pqjHEwm+vmU1qwaT8TfrqQN9f7OhFtLj3MyoIKvjwji+jI9n+tk4ck8ejnJ9nSfsaY085q9J/Sq2tLONLk4f5569lxsJbiqqPERUdw29QhPV00Y4xpxYL+U6hvcrOyoILbpw3Bq8qTH+wC4J4Ls2yCMmPMGceC/lNYubOCRreXaycMZPrwFEb178O83GLu6sI1X40xpqtY0H8Ki7eW0ScmkvMykxER5s7IYu4MC3ljzJnJbsaeJK9XWbztIBePSuvwpqsxxpxpLKlO0vqSQ1TUNXHl2P49XRRjjAmJBf1Jej//IBEu4ZLsfj1dFGOMCYmjg/7dzQdYtuPk5r9fvLWM8zKTSOxtvWuMMWcHRwf9Y4t28Nv3d4R8fFFlPdsP1nLFGGu2McacPRzd66a8rhGtPf6kbl6vsr7kECt2VLBwywEAa583xpxVHBv0zR4vVUeaADhU30Tf3h1PG/zEBwU8umgHIjAhPZGHZ49jaIpNSmaMOXs4Nugr65oCj3dXHGHykI6Dfl1RNcPS4njla9NtDnljzFnJsW305bWNgcd7Ko90etyu8iOMHZhgIW+MOWs5N+jrGgKPd5d3HPQNzR6Kq+ttxkljzFnNuUHvr9HHRLrYXVnf4TGF5UdQheFpFvTGmLOX44N+0uC+7KnouEa/q7wOwGr0xpizWkhBLyKzRGS7iBSIyIOdHHOriOSLyBYReSFou0dE1vt/5nd0bk8or20kITaS0QP6sKfiCB2tnVtQVocIZNnSf8aYs9gJe92ISATwJHAlUALkish8Vc0POmYk8BAwQ1WrRSR4foCjqjqpa4t96irqmkjrE0Nmahy1je7A82C7yusYnNSb2KiIHiqlMcaculBq9FOBAlUtVNUmYB4wu80xXwGeVNVqAFUt69pidr3y2kZS42MCC3V31POmoKyO4WlWmzfGnN1CCfp0oDjoeYl/W7BsIFtEPhSRj0VkVtC+WBHJ82+/saM3EJF7/cfklZef3Nwzn1Z5XSNpfWIY5g/63W3a6T1eZXfFEWufN8ac9bpqwFQkMBK4BMgAlovIBFU9BAxV1VIRGQYsEZFNqror+GRVfQp4CiAnJ+f4cxJ0kfJaX9Cn9+1FpEva3ZAtrT5Ko9trPW6MMWe9UGr0pcDgoOcZ/m3BSoD5qtqsqruBHfiCH1Ut9f9ZCCwFJp9imU9ZfZObukY3aX1iiIxwMSS5d7savfW4McaEi1CCPhcYKSJZIhINzAHa9p55A19tHhFJxdeUUygiSSISE7R9BpBPD6uo9U1/kBbvu/mamRrXLugLynxBbzV6Y8zZ7oRBr6pu4D5gIbAVeFlVt4jIwyJyg/+whUCliOQDHwDfU9VKYAyQJyIb/Nt/Gdxbp6e0jIpt6WWTmRLH3sp6vN5jrUa7yutIiYsmyaY+MMac5UJqo1fVBcCCNtt+HPRYgW/7f4KP+QiYcOrF7Fotg6Vagj4rLY6jzR4O1jYwMLEX0NLjxmrzxpiznyNHxrYL+pT2PW92ldcx3NrnjTFhwLFBLwLJ/jnoM1N7A7CnwjfnTWVdI9X1zdaH3hgTFpwZ9HWNpMRFExnhu/xBib2IjnQFBk213Ii1HjfGmHDgzKCvbSI1/th0By6XkJnSm9w9VeyuOEKBda00xoQRR64w1TIqNtj04an87aM9XPrrpURHuugVFcEg/41ZY4w5mzky6CtqG9u1v//0hnHMnZ7Jip3lLNtRQVZqb1wu6aESGmNM13Fc0KtqYPqDtjJT48hMjeOLF2Se/oIZY0w3cVwbfc1RN00eb2BUrDHGhDvHBX3bUbHGGBPuHBf0ZW0GSxljTLhzXNAHRsVa040xxiGcG/RWozfGOITzgr6ukagIIbFXVE8XxRhjTgvHBX1FbRNp8TGIWB95Y4wzOC7oOxoVa4wx4cx5Qd/JYCljjAlXjgv6mqPNJFj7vDHGQRwX9A3NHmKjInq6GMYYc9qEFPQiMktEtotIgYg82Mkxt4pIvohsEZEXgrbfKSI7/T93dlXBP62GZg+xkRb0xhjnOOGkZiISATwJXAmUALkiMj94kW8RGQk8BMxQ1WoR6effngz8BMgBFFjrP7e66y8lNA1uL7FRjvtFxhjjYKEk3lSgQFULVbUJmAfMbnPMV4AnWwJcVcv8268GFqlqlX/fImBW1xT95DV7vHi8ak03xhhHCSXo04HioOcl/m3BsoFsEflQRD4WkVkncS4icq+I5IlIXnl5eeilP0kNzR4Aq9EbYxylqxIvEhgJXALcBvxFRPqGerKqPqWqOaqak5aW1kVFaq+h2QtgNXpjjKOEEvSlwOCg5xn+bcFKgPmq2qyqu4Ed+II/lHNPm0CN3m7GGmMcJJSgzwVGikiWiEQDc4D5bY55A19tHhFJxdeUUwgsBK4SkSQRSQKu8m/rEY1uX9DHWNONMcZBTtjrRlXdInIfvoCOAJ5R1S0i8jCQp6rzORbo+YAH+J6qVgKIyM/xfVkAPKyqVd1xIaGwphtjjBOFtGasqi4AFrTZ9uOgxwp82//T9txngGdOrZhd49jNWAt6Y4xzOKoNI1Cjj3TUZRtjHM5RiWc1emOMEzkr6N0W9MYY53FW0Aduxjrqso0xDueoxLOmG2OMEzkz6G3AlDHGQRwV9I1uX9ONDZgyxjiJoxKvodmDCMRY90pjjIM4KvEa3V5iIl2ISE8XxRhjThtHBb0tI2iMcSLnBb3diDXGOIzDgt6WETTGOI+jUs+abowxTuSsoHd7ibGgN8Y4jLOCvtljM1caYxzHUanX2OyxGr0xxnEcFfQNzV6r0RtjHMdRqdfgtpuxxhjncVbQN3use6UxxnFCSj0RmSUi20WkQEQe7GD/XBEpF5H1/p97gvZ5grbP78rCnyxfP3qr0RtjnOWEi4OLSATwJHAlUALkish8Vc1vc+hLqnpfBy9xVFUnnXJJu4D1ozfGOFEoNfqpQIGqFqpqEzAPmN29xep6qkqj227GGmOcJ5TUSweKg56X+Le1dbOIbBSRV0RkcND2WBHJE5GPReTGjt5ARO71H5NXXl4ecuFPxrG56K1Gb4xxlq6q3r4FZKrqOcAi4O9B+4aqag7wBeC3IjK87cmq+pSq5qhqTlpaWhcVqTVbRtAY41ShBH0pEFxDz/BvC1DVSlVt9D99GpgStK/U/2chsBSYfArl/dRsYXBjjFOFknq5wEgRyRKRaGAO0Kr3jIgMDHp6A7DVvz1JRGL8j1OBGUDbm7inha0Xa4xxqhP2ulFVt4jcBywEIoBnVHWLiDwM5KnqfOBbInID4AaqgLn+08cAfxYRL74vlV920FvntGhwW9ONMcaZThj0AKq6AFjQZtuPgx4/BDzUwXkfARNOsYxdwppujDFO5ZjUs5uxxhincmDQO+aSjTEGcFDQB/rR281YY4zDOCborenGGONUjgn6RrsZa4xxKMeknnWvNMY4lXOC3ppujDEO5aCg9zfd2OyVxhiHcUzqNTR7iHQJkRGOuWRjjAEcFfS2upQxxpmcE/RuWy/WGONMjkm+hmaPDZYyxjiSY4K+sdlLjNXojTEO5Jjka2j22Fz0xhhHck7QWxu9McahHJN81uvGGONUDgp6jwW9McaRHBb0jrlcY4wJCCn5RGSWiGwXkQIRebCD/XNFpFxE1vt/7gnad6eI7PT/3NmVhT8ZDc1euxlrjHGkE64ZKyIRwJPAlUAJkCsi8ztY5PslVb2vzbnJwE+AHECBtf5zq7uk9Ceh0e0hxppujDEOFEqNfipQoKqFqtoEzANmh/j6VwOLVLXKH+6LgFmfrqinxncz1ppujDHOE0rypQPFQc9L/NvaullENorIKyIy+GTOFZF7RSRPRPLKy8tDLPrJsZuxxhin6qoq7ltApqqeg6/W/veTOVlVn1LVHFXNSUtL66IiHeP2eHF71drojTGOFErQlwKDg55n+LcFqGqlqjb6nz4NTAn13NOhwW3LCBpjnCuU5MsFRopIlohEA3OA+cEHiMjAoKc3AFv9jxcCV4lIkogkAVf5t51Wjba6lDHGwU7Y60ZV3SJyH76AjgCeUdUtIvIwkKeq84FvicgNgBuoAub6z60SkZ/j+7IAeFhVq7rhOo7LavTGGCc7YdADqOoCYEGbbT8OevwQ8FAn5z4DPHMKZTxltl6sMcbJHFHFbQl6m4/eGONEDgl6a7oxxjiXI5LPbsYaY5zMEUHf4LagN8Y4lzOC3ppujDEO5ojkC/S6sZuxxhgHckjQt9ToLeiNMc7jkKBvaaN3xOUaY0wrjkg+uxlrjHEyZwS9v+kmJtIRl2uMMa04Ivkamz3ERLoQkZ4uijHGnHaOCPoGf9AbY4wTOSL9fMsIWvu8McaZnBH0bltG0BjjXM4I+maPda00xjiWI9LPmm6MMU7mkKD32PQHxhjHckbQu73EWNONMcahHJF+jc12M9YY41whrRkrIrOAx/EtDv60qv6yk+NuBl4BzlPVPBHJBLYC2/2HfKyqXzvlUnegvsnNE0sKAs9dIlw+ph+ThyTR6LY2emOMc50w6EUkAngSuBIoAXJFZL6q5rc5rg9wP7C6zUvsUtVJXVPczh1t8vCXFYWB5x6v8sQHBVw7YQDV9U3E2oApY4xDhVKjnwoUqGohgIjMA2YD+W2O+znwv8D3urSEIUqJj2HnL64NPD/S6Oap5YU8tbyQo9Z0Y4xxsFCquelAcdDzEv+2ABE5Fxisqu90cH6WiKwTkWUiclFHbyAi94pInojklZeXh1r244qLieSBK7NZ9r1LuO/SEXxuSkaXvK4xxpxtQmqjPx4RcQGPAnM72L0fGKKqlSIyBXhDRMapak3wQar6FPAUQE5Ojp5qmYL1S4jlu1eP6sqXNMaYs0ooNfpSYHDQ8wz/thZ9gPHAUhHZA5wPzBeRHFVtVNVKAFVdC+wCsrui4MYYY0ITStDnAiNFJEtEooE5wPyWnap6WFVTVTVTVTOBj4Eb/L1u0vw3cxGRYcBIoLD9WxhjjOkuJ2y6UVW3iNwHLMTXvfIZVd0iIg8Deao6/zinzwQeFpFmwAt8TVWruqLgxhhjQiOqXdokfspycnI0Ly+vp4thjDFnFRFZq6o5He2zzuXGGBPmLOiNMSbMWdAbY0yYs6A3xpgwd8bdjBWRcmDvKbxEKlDRRcU5WzjxmsGZ1+3EawZnXvfJXvNQVU3raMcZF/SnSkTyOrvzHK6ceM3gzOt24jWDM6+7K6/Zmm6MMSbMWdAbY0yYC8egf6qnC9ADnHjN4MzrduI1gzOvu8uuOeza6I0xxrQWjjV6Y4wxQSzojTEmzIVN0IvILBHZLiIFIvJgT5enu4jIYBH5QETyRWSLiNzv354sIotEZKf/z6SeLmtXE5EI/2plb/ufZ4nIav9n/pJ/Gu2wIiJ9ReQVEdkmIltF5IJw/6xF5AH/v+3NIvKiiMSG42ctIs+ISJmIbA7a1uFnKz6/81//Rv+qfiELi6APWsD8GmAscJuIjO3ZUnUbN/AdVR2Lb5GXb/iv9UFgsaqOBBb7n4eb+4GtQc//F3hMVUcA1cDdPVKq7vU48K6qjgYm4rv+sP2sRSQd+BaQo6rj8U2NPofw/Kz/Bsxqs62zz/YafOt5jATuBf54Mm8UFkFP0ALmqtoEtCxgHnZUdb+qfuJ/XIvvP346vuv9u/+wvwM39kgBu4mIZADXAU/7nwtwGfCK/5BwvOZEfGs6/BVAVZtU9RBh/lnjWyejl4hEAr3xLUkadp+1qi4H2q7P0dlnOxt4Tn0+BvqKyMBQ3ytcgv6EC5iHIxHJBCYDq4H+qrrfv+sA0L+nytVNfgt8H98CNgApwCFVdfufh+NnngWUA8/6m6yeFpE4wvizVtVS4NdAEb6APwysJfw/6xadfbanlHHhEvSOIyLxwKvAf3aw2LoCYdNvVkSuB8r86w47SSRwLvBHVZ0MHKFNM00YftZJ+GqvWcAgII72zRuO0JWfbbgE/YkWMA8rIhKFL+SfV9XX/JsPtvwq5/+zrKfK1w1mADf4F5+fh+/X+Mfx/frashxmOH7mJUCJqq72P38FX/CH82d9BbBbVctVtRl4Dd/nH+6fdYvOPttTyrhwCfrjLmAeTvxt038Ftqrqo0G75gN3+h/fCbx5usvWXVT1IVXN8C8+PwdYoqq3Ax8An/MfFlbXDKCqB4BiERnl33Q5kE8Yf9b4mmzOF5He/n/rLdcc1p91kM4+2/nAl/y9b84HDgc18ZyYqobFD3AtsAPYBfygp8vTjdd5Ib5f5zYC6/0/1+Jrs14M7ATeB5J7uqzddP2XAG/7Hw8D1gAFwL+AmJ4uXzdc7yQgz/95vwEkhftnDfwM2AZsBv4BxITjZw28iO8+RDO+397u7uyzBQRfz8JdwCZ8vZJCfi+bAsEYY8JcuDTdGGOM6YQFvTHGhDkLemOMCXMW9MYYE+Ys6I0xJsxZ0BtjTJizoDfGmDD3/wHLvWszRcBafAAAAABJRU5ErkJggg==\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.plot(history.epoch, history.history.get('acc'))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "de2587f0",
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3 (ipykernel)",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.7.10"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 5
}
